import org.gradle.api.JavaVersion

object Config{

    val compileSdkVersion = 30
    val buildToolsVersion = "30.0.2"
    val minSdkVersion = 21
    val targetSdkVersion = 30
    val sourceCompatibilityVersion = JavaVersion.VERSION_1_8
    val targetCompatibilityVersion = JavaVersion.VERSION_1_8
    val versionCode = 1
    val versionName = "1.0"
    val applicationId ="com.goldze.mvvmhabit"


}

object Versions {
    const val PLUGIN_GRADLE_VERSION="3.6.3"
    const val PLUGIN_BINTRAY_VERSION="1.7.3"
    const val PLUGIN_MAVEN_VERSION="2.1"
    const val KOTLIN_VERSION = "1.3.60"
    const val ANDROIDX_APP_COMPAT_VERSION = "1.1.0-alpha03"
    const val ANDROIDX_LEGACY_V4_VERSION = "1.0.0"
    const val ANDROIDX_LEGACY_V13_VERSION = "1.0.0"
    const val ANDROIDX_MULTIDEX_VERSION = "2.0.0"
    const val ANDROIDX_MATERIAL_VERSION = "1.0.0"
    const val ANDROIDX_RECYCLERVIEW_VERSION = "1.0.0"
    const val ANDROIDX_PREFERENCE_VERSION = "1.0.0"
    const val ANDROIDX_CARDVIEW_VERSION = "1.0.0"
    const val ANDROIDX_GRIDLAYOUT_VERSION = "1.0.0"
    const val ANDROIDX_ANNOTATION_VERSION = "1.1.0"
    const val ANDROIDX_CONSTRAINTLAYOUT_VERSION = "1.1.3"
    const val ANDROIDX_PAGING_VERSION = "2.0.0"
    const val ANDROIDX_WORK_RUNTIME_VERSION = "2.0.1"
    const val ANDROIDX_CORE_KTX_VERSION="1.3.1"
    const val ANDROIDX_ROOM_VERSION="2.2.5"
    const val ANDROIDX_COORDINATORLAYOUT_VERSION="1.1.0"
    const val ANDROIDX_DATABINDING_VERSION="4.1.0"
    const val ANDROIDX_ACTIVITY_VERSION="1.2.0-alpha06"
    const val ANDROIDX_FRAGMENT_VERSION="1.3.0-alpha06"
    const val GSON_VERSION = "2.8.2"
    const val JUNIT_VERSION = "4.12"
    const val RXJAVA2_VERSION = "2.1.9"
    const val RXANDROID_VERSION = "2.0.2"
    const val RETROFIT_VERSION = "2.9.0"
    const val OKHTTP_VERSION = "4.9.0"
    const val AUTODISPOSE_VERSION="1.4.0"
    const val COMMON_HELPER_VERSION="1.0.20"
    const val GLIDE_VERSION = "4.9.0"
    const val GLIDE_JUNIT1_VERSION = "1.1.1"
    const val GLIDE_INDINGCOLLECTIONADAPTER_VERSION = "4.0.0"
    const val GLIDE_RXLIFECYCLE_VERSION = "2.2.2"
    const val GLIDE_ESPRESSO_VERSION = "3.2.0"
    const val GLIDE_RUNTIME_VERSION = "1.0.0-alpha1"
    const val GLIDE_LOGGINGINTERCEPTOR_VERSION = "3.8.1"
    const val GLIDE_CRASHREPORT_UPGRADE_VERSION = "1.4.5"
    const val GLIDE_NATIVECRASHREPORT_VERSION = "3.7.1"
    const val GLIDE_AUTOSIZE_VERSION = "1.2.1"
    const val GLIDE_CUSTOMACTIVITYONCRASH_VERSION = "2.3.0"
    const val GLIDE_filedownloader_VERSION = "1.7.7"
    const val GLIDE_FRESCO_VERSION = "0.11.0"
    const val GLIDE_SMARTREFRESHLAYOUT_VERSION = "2.2.0"
    const val GLIDE_ANIMATED_GIF_VERSION = "0.12.0"
    const val GLIDE_PICASSO_VERSION = "2.5.2"
    const val GLIDE_PHOTOVIEW_VERSION = "1.3.1"
    const val GLIDE_FASTJSON_VERSION = "1.1.54.android"
    const val GLIDE_EVENTBUS_VERSION = "3.0.0"
    const val GLIDE_NAVIGATIONFRAGMENT_VERSION = "3.0.0"
    const val GLIDE_AVIGATIONUI_VERSION = "2.1.0"
    const val GLIDE_RXPERMISSIONS_VERSION = "0.10.2"
    const val GLIDE_PERMISSION_VERSION = "2.0.3"
    const val GLIDE_PLEAKCANARY_VERSION = "1.5"
    const val GLIDE_KOTLINX_COROUTINES_VERSION = "1.3.9"
    const val GLIDE_UTILCODE_VERSION = "1.29.0"
    const val GLIDE_LIVEEVENTBUS_VERSION = "1.5.7"
    const val GLIDE_MATERIALDIALOGSCORE_VERSION = "0.9.4.5"
    const val GLIDE_BASERECYCLERVIEWADAPTERHELPER_VERSION = "2.9.47"
    const val GLIDE_MMKV_VERSION = "1.0.23"
    const val GLIDE_TKREFRESHLAYOUT_VERSION = "1.0.7"
    const val GLIDE_TABSTRIP_VERSION = "2.2.5"

    const val GLIDE_DIALOGSCOMMONS_VERSION = "0.9.1.0"
    const val GLIDE_RXLIFECYCLEANDROID_VERSION = " 2.2.1"
    const val LIFECYCLE_VERSION = "2.4.0-beta01"
    const val ARCH_VERSION = " 2.1.0"



}

object BuildDependencies {

    const val junit = "junit:junit:${Versions.JUNIT_VERSION}"
    const val gson = "com.google.code.gson:gson:${Versions.GSON_VERSION}"
    const val kotlinStdlibJdk7 = "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${Versions.KOTLIN_VERSION}"
    const val rxjava2 = "io.reactivex.rxjava2:rxjava:${Versions.RXJAVA2_VERSION}"
    const val rxAndroid = "io.reactivex.rxjava2:rxandroid:${Versions.RXANDROID_VERSION}"
    const val retrofit = "com.squareup.retrofit2:retrofit:${Versions.RETROFIT_VERSION}"
    const val retrofitConverterScalars= "com.squareup.retrofit2:converter-scalars:${Versions.RETROFIT_VERSION}"
    const val retrofitAdapterRxjava2 = "com.squareup.retrofit2:adapter-rxjava2:${Versions.RETROFIT_VERSION}"
    const val retrofitConverterGson = "com.squareup.retrofit2:converter-gson:${Versions.RETROFIT_VERSION}"
    const val autodispose= "com.uber.autodispose:autodispose-android-archcomponents:${Versions.AUTODISPOSE_VERSION}"
    const val okhttp= "com.squareup.okhttp3:okhttp:${Versions.OKHTTP_VERSION}"
    const val commonhelper= "com.kongpf.commonhelper:common-helper:${Versions.COMMON_HELPER_VERSION}"
    const val glide = "com.github.bumptech.glide:glide:${Versions.GLIDE_VERSION}"
    const val glideCompiler = "com.github.bumptech.glide:compiler:${Versions.GLIDE_VERSION}"
    const val glideIntegration="com.github.bumptech.glide:okhttp3-integration:${Versions.GLIDE_VERSION}"
    const val junit1="androidx.test.ext:junit:${Versions.GLIDE_JUNIT1_VERSION}"
    const val espressocore="androidx.test.espresso:espresso-core:${Versions.GLIDE_ESPRESSO_VERSION}"
    const val lifecycleruntime="android.arch.lifecycle:runtime:${Versions.GLIDE_RUNTIME_VERSION}"
    const val roomcompiler="android.arch.persistence.room:compiler:${Versions.GLIDE_RUNTIME_VERSION}"
    const val logginginterceptor="com.squareup.okhttp3:logging-interceptor:${Versions.GLIDE_LOGGINGINTERCEPTOR_VERSION}"
    const val crashreport_upgrade="com.tencent.bugly:crashreport_upgrade:${Versions.GLIDE_CRASHREPORT_UPGRADE_VERSION}"
    const val nativecrashreport="com.tencent.bugly:nativecrashreport:${Versions.GLIDE_NATIVECRASHREPORT_VERSION}"
    const val autosize="me.jessyan:autosize:${Versions.GLIDE_AUTOSIZE_VERSION}"
    // ------------- 防崩溃 -------------
    const val customactivityoncrash="cat.ereza:customactivityoncrash:${Versions.GLIDE_CUSTOMACTIVITYONCRASH_VERSION}"
    // ------------- 下载 -------------
    const val filedownloader="com.liulishuo.filedownloader:library:${Versions.GLIDE_filedownloader_VERSION}"
    // ------------- 图片加载 -------------
    const val fresco="com.facebook.fresco:fresco:${Versions.GLIDE_FRESCO_VERSION}"
    const val animatedGif="com.facebook.fresco:animated-gif:${Versions.GLIDE_ANIMATED_GIF_VERSION}"
    const val picasso="com.squareup.picasso:picasso:${Versions.GLIDE_PICASSO_VERSION}"
    const val photoView="com.github.chrisbanes:PhotoView:${Versions.GLIDE_PHOTOVIEW_VERSION}"
    // ------------- json解析 -------------
    const val fastJson="com.alibaba:fastjson:${Versions.GLIDE_FASTJSON_VERSION}"
    // ------------- log打印工具 -------------
    const val logger="com.orhanobut:logger:${Versions.GLIDE_SMARTREFRESHLAYOUT_VERSION}"
    const val eventbus="org.greenrobot:eventbus:${Versions.GLIDE_EVENTBUS_VERSION}"
    const val animatedvectordrawable="androidx.vectordrawable:vectordrawable-animated:${Versions.ANDROIDX_CARDVIEW_VERSION}"
    const val navigationfragment="org.greenrobot:eventbus:${Versions.GLIDE_NAVIGATIONFRAGMENT_VERSION}"
    const val avigationui="androidx.navigation:navigation-ui:${Versions.GLIDE_AVIGATIONUI_VERSION}"
    const val rxpermissions="com.github.tbruyelle:rxpermissions:${Versions.GLIDE_RXPERMISSIONS_VERSION}"
    const val lifecycleextensions="android.arch.lifecycle:extensions:${Versions.GLIDE_JUNIT1_VERSION}"
    const val lifecyclecompiler="android.arch.lifecycle:compiler:${Versions.GLIDE_JUNIT1_VERSION}"
    const val smartRefreshLayout="com.scwang.smartrefresh:SmartRefreshLayout:${Versions.ANDROIDX_ANNOTATION_VERSION}"
    // ------------- 权限申请 -------------
    const val permission="com.yanzhenjie:permission:${Versions.GLIDE_PERMISSION_VERSION}"
    // ------------- LeakCanary -------------
    const val leakcanaryAndroid="com.squareup.leakcanary:leakcanary-android:${Versions.GLIDE_PLEAKCANARY_VERSION}"
    // ------------- 协程 -------------
    const val coroutines="org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.GLIDE_KOTLINX_COROUTINES_VERSION}"
    //Utils集合
    const val utilcode="com.blankj:utilcode:${Versions.GLIDE_UTILCODE_VERSION}"
    const val bindingcollectionadapter="me.tatarka.bindingcollectionadapter2:bindingcollectionadapter:${Versions.GLIDE_INDINGCOLLECTIONADAPTER_VERSION}"
    const val bindingcollectionadapterrecyclerview="me.tatarka.bindingcollectionadapter2:bindingcollectionadapter-recyclerview:${Versions.GLIDE_INDINGCOLLECTIONADAPTER_VERSION}"
    const val bindingcollectionadapterviewpager2="me.tatarka.bindingcollectionadapter2:bindingcollectionadapter-viewpager2:${Versions.GLIDE_INDINGCOLLECTIONADAPTER_VERSION}"
    const val rxlifecycle="com.trello.rxlifecycle2:rxlifecycle:${Versions.GLIDE_RXLIFECYCLE_VERSION}"
    const val rxlifecycleandroid="com.trello.rxlifecycle2:rxlifecycle-android:${Versions.GLIDE_RXLIFECYCLE_VERSION}"
    const val androidlifecycle="com.trello.rxlifecycle2:rxlifecycle-android-lifecycle:${Versions.GLIDE_RXLIFECYCLEANDROID_VERSION}"
    const val rxlifecyclecomponents="com.trello.rxlifecycle2:rxlifecycle-components:${Versions.GLIDE_RXLIFECYCLE_VERSION}"
    const val rxbinding="com.jakewharton.rxbinding2:rxbinding:${Versions.GLIDE_SMARTREFRESHLAYOUT_VERSION}"
    const val liveEventBus="com.jeremyliao:live-event-bus-x:${Versions.GLIDE_LIVEEVENTBUS_VERSION}"//1.5.7
    const val materialdialogscore="com.afollestad.material-dialogs:core:${Versions.GLIDE_MATERIALDIALOGSCORE_VERSION}"//0.9.4.5
    const val materialdialogscommons="com.afollestad.material-dialogs:commons:${Versions.GLIDE_MATERIALDIALOGSCORE_VERSION}"//0.9.4.5
    const val BaseRecyclerViewAdapterHelper="com.github.CymChad:BaseRecyclerViewAdapterHelper:${Versions.GLIDE_BASERECYCLERVIEWADAPTERHELPER_VERSION}"//2.9.47
    const val MMKV="com.tencent:mmkv:${Versions.GLIDE_MMKV_VERSION}"//1.0.23
    const val tkrefreshlayout="com.lcodecorex:tkrefreshlayout:${Versions.GLIDE_TKREFRESHLAYOUT_VERSION}"//1.0.7
    const val materialdialogs="com.afollestad.material-dialogs:core:${Versions.GLIDE_DIALOGSCOMMONS_VERSION}"//2.2.5
    const val dialogscommons="com.afollestad.material-dialogs:commons:${Versions.GLIDE_DIALOGSCOMMONS_VERSION}"//2.2.5
    const val tabstrip="me.majiajie:pager-bottom-tab-strip:${Versions.GLIDE_TABSTRIP_VERSION}"//2.2.5


    // ViewModel
    const val viewmodel="androidx.lifecycle:lifecycle-viewmodel:${Versions.LIFECYCLE_VERSION}"//2.2.5
    // LiveData
    const val livedata="androidx.lifecycle:lifecycle-livedata:${Versions.LIFECYCLE_VERSION}"//2.2.5
    // Lifecycles only (without ViewModel or LiveData)
    const val runtime="androidx.lifecycle:lifecycle-runtime:${Versions.LIFECYCLE_VERSION}"//2.2.5
    // Saved state module for ViewModel
    const val savedstate="androidx.lifecycle:lifecycle-viewmodel-savedstate:${Versions.LIFECYCLE_VERSION}"//2.2.5
    // Annotation processor
    const val compiler="androidx.lifecycle:lifecycle-compiler:${Versions.LIFECYCLE_VERSION}"//2.2.5
    // alternately - if using Java8, use the following instead of lifecycle-compiler
    const val java8="androidx.lifecycle:lifecycle-common-java8:${Versions.LIFECYCLE_VERSION}"//2.2.5
    // optional - helpers for implementing LifecycleOwner in a Service
    const val service="androidx.lifecycle:lifecycle-service:${Versions.LIFECYCLE_VERSION}"//2.2.5
    // optional - ProcessLifecycleOwner provides a lifecycle for the whole application process
    const val process="androidx.lifecycle:lifecycle-process:${Versions.LIFECYCLE_VERSION}"//2.2.5
    // optional - ReactiveStreams support for LiveData
    const val reactivestreams="androidx.lifecycle:lifecycle-reactivestreams:${Versions.LIFECYCLE_VERSION}"//2.2.5
    // optional - Test helpers for LiveData
    const val testing="androidx.arch.core:core-testing:${Versions.ARCH_VERSION}"//2.2.5


}

object AndroidX {
    const val appCompat = "androidx.appcompat:appcompat:${Versions.ANDROIDX_APP_COMPAT_VERSION}"
    const val legacyV4 = "androidx.legacy:legacy-support-v4:${Versions.ANDROIDX_LEGACY_V4_VERSION}"
    const val legacyV13 = "androidx.legacy:legacy-support-v13:${Versions.ANDROIDX_LEGACY_V13_VERSION}"
    const val multidex = "androidx.multidex:multidex:${Versions.ANDROIDX_MULTIDEX_VERSION}"
    const val material = "com.google.android.material:material:${Versions.ANDROIDX_MATERIAL_VERSION}"
    const val recyclerview = "androidx.recyclerview:recyclerview:${Versions.ANDROIDX_RECYCLERVIEW_VERSION}"
    const val preference = "androidx.preference:preference:${Versions.ANDROIDX_PREFERENCE_VERSION}"
    const val cardview = "androidx.cardview:cardview:${Versions.ANDROIDX_CARDVIEW_VERSION}"
    const val gridlayout = "androidx.gridlayout:gridlayout:${Versions.ANDROIDX_GRIDLAYOUT_VERSION}"
    const val annotationX = "androidx.annotation:annotation:${Versions.ANDROIDX_ANNOTATION_VERSION}"
    const val constraintlayout = "androidx.constraintlayout:constraintlayout:${Versions.ANDROIDX_CONSTRAINTLAYOUT_VERSION}"
    const val paging = "androidx.paging:paging-runtime:${Versions.ANDROIDX_PAGING_VERSION}"
    const val work = "androidx.work:work-runtime:${Versions.ANDROIDX_WORK_RUNTIME_VERSION}"
    const val coreKtx="androidx.core:core-ktx:${Versions.ANDROIDX_CORE_KTX_VERSION}"
    const val room="androidx.room:room-runtime:${Versions.ANDROIDX_ROOM_VERSION}"
    const val roomKtx="androidx.room:room-ktx:${Versions.ANDROIDX_ROOM_VERSION}"
    const val roomCompiler="androidx.room:room-compiler:${Versions.ANDROIDX_ROOM_VERSION}"
    const val roomRxJava2= "androidx.room:room-rxjava2:${Versions.ANDROIDX_ROOM_VERSION}"
    const val coordinatorlayout="androidx.coordinatorlayout:coordinatorlayout:${Versions.ANDROIDX_COORDINATORLAYOUT_VERSION}"
    const val databindingCommon="androidx.databinding:databinding-common:${Versions.ANDROIDX_DATABINDING_VERSION}"
    const val databindingAdapters="androidx.databinding:databinding-adapters:${Versions.ANDROIDX_DATABINDING_VERSION}"
    const val databindingRuntime="androidx.databinding:databinding-runtime:${Versions.ANDROIDX_DATABINDING_VERSION}"
    const val activity="androidx.activity:activity:${Versions.ANDROIDX_ACTIVITY_VERSION}"
    const val activityKtx="androidx.activity:activity-ktx:${Versions.ANDROIDX_ACTIVITY_VERSION}"
    const val fragment="androidx.fragment:fragment:${Versions.ANDROIDX_FRAGMENT_VERSION}"
    const val fragmentKtx="androidx.fragment:fragment-ktx:${Versions.ANDROIDX_FRAGMENT_VERSION}"
    const val appcompat="androidx.fragment:fragment-ktx:${Versions.ANDROIDX_FRAGMENT_VERSION}"


}



